Methods and systems for improving yield in wanted vehicle searches

ABSTRACT

In response to determining that a target vehicle is at large, identification information associated with the target vehicle&#39;s license plate may be retrieved and used to generate one or more synthetic license plate images. The synthetic license plate images may be subjected to one or more transformation to cause them to resemble authentic license plate image captures and/or to mimic authentic license plate image captures from existing and operational ALPR system cameras. Target signatures may then be calculated from the synthetic license plate images. Upon capturing an authentic license plate image using an ALPR system camera, a signature of the authentic license plate image may be calculated. If a match is found between the signature of the authentic license plate image and a target signature, law enforcement may be alerted that the target vehicle was detected at the location of the ALPR system camera.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation-in-part of U.S. patent application Ser. No. 13/300,124, which is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

The present disclosure relates generally to methods and systems for automatically identifying vehicles using images captured by cameras.

BACKGROUND

In law enforcement and other contexts, it is frequently necessary to locate specific vehicles. For example, in the case of a missing person alert, law enforcement may use surveillance technology, such as video or still-frame cameras to determine whether a vehicle owned by the missing person (“target vehicle”) has passed through a monitored intersection or toll booth. Captured images of vehicles may be analyzed to determine license plate information using optical character recognition or image signature matching. However, in some cases, previously captured images of the target vehicle license plate may not exist, in which case signature matching may be ineffective for determining license plate information from captured images.

Accordingly, there is a need for methods and systems for improved signature matching when searching for wanted vehicles.

SUMMARY OF THE INVENTION

In response to determining that a target vehicle is at large, identification information associated with the target vehicle's license plate may be retrieved and used to generate one or more synthetic license plate images. The synthetic license plate images may be subjected to one or more transformation to cause them to resemble authentic license plate image captures and/or to mimic authentic license plate image captures from existing and operational ALPR system cameras. Target signatures may then be calculated from the synthetic license plate images. Upon capturing an authentic license plate image using an ALPR system camera, a signature of the authentic license plate image may be calculated. If a match is found between the signature of the authentic license plate image and a target signature, law enforcement may be alerted that the target vehicle was detected at the location of the ALPR system camera and at the time associated with the authentic license plate image capture.

Additional objects and advantages of the invention will be set forth in part in the description that follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

This patent or application contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings will be provided by the Office upon request and payment of the necessary fee.

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and together, with the description, serve to explain the principles of the invention. In the drawings:

FIG. 1 is a diagram depicting exemplary hardware componentry of a system configured to perform the described embodiments, consistent with certain disclosed embodiments;

FIG. 2 is a flowchart illustrating an exemplary method of building a ground truth database using synthetic images, consistent with certain disclosed embodiments;

FIG. 3 a is a flowchart illustrating an exemplary method of generating a synthetic license plate image, consistent with certain disclosed embodiments;

FIG. 3 b is a flowchart illustrating an exemplary method of generating a synthetic license plate image, consistent with certain disclosed embodiments;

FIG. 4 is a diagram depicting exemplary transformations that may be applied to a synthetic license plate image, consistent with certain disclosed embodiments;

FIG. 5 is a diagram depicting an exemplary method of furthering a distance learning algorithm using signature comparisons between synthetic images, consistent with certain disclosed embodiments;

FIG. 6 is a flowchart depicting an exemplary method of determining identification information associated with an authentic license plate image, consistent with certain disclosed embodiments;

FIG. 7 is a flowchart depicting an exemplary method of identifying an authentic image of license plate using a synthetic license plate image generated from the vehicle's license plate identification information, consistent with certain disclosed embodiments;

FIG. 8 is a flowchart illustrating an exemplary method of building a ground truth database of image signatures using identification information associated with a target vehicle, consistent with certain disclosed embodiments;

FIG. 9 is a diagram depicting an exemplary method of generating a synthetic license plate image using identification information associated with a target vehicle, consistent with certain disclosed embodiments;

FIG. 10 is a diagram depicting exemplary transformations that may be applied to a synthetic license plate image of a target vehicle, consistent with certain disclosed embodiments; and

FIG. 11 is a flowchart illustrating an exemplary method of identifying a target vehicle using a ground truth database of image signatures generated from synthetic images of the target vehicle's license plate, consistent with certain disclosed embodiments.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several exemplary embodiments and features of the invention are described herein, modifications, adaptations, and other implementations are possible, without departing from the spirit and scope of the invention. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.

In traffic'management and law enforcement, it is frequently necessary to identify individual vehicles using images captured from video and still frame cameras. Because license plate numbers, when combined with relevant issuing authorities, such as states or government agencies, are typically unique, one technique for identifying vehicles from captured images is to extract license plate information from image data. The process of automatically determining license plate information, such as license plate numbers, from captured images of license plates is known as automatic license plate recognition (ALPR).

Traditionally, ALPR has relied on optical character recognition (OCR) technology to determine license plate information from digital images. OCR typically operates by isolating individual characters in an image according to color and contrast differentials and then comparing individual scanned character shapes to pre-stored shapes or dimension-based algorithms associated with particular American Standard Code for Information Interchange (ASCII) or Unicode characters. Thus, the accuracy of an OCR process often depends greatly on the resolution and quality of the image on which it operates. In some implementations, if an OCR system is not able to match a particular scanned character to a known character with sufficient confidence, the OCR system may further make assumptions about the scanned character based on letter patterns associated with particular spelling or grammar rules.

Unfortunately, for ALPR systems, OCR presents a number of significant drawbacks. Often, images that are captured of license plates have numerous defects that may make it difficult for OCR to accurately decipher characters. Such defects may be caused by differing levels of lighting on a license plate due to differing times of day or weather conditions; blur resulting from fast moving vehicles; rust, deformation, or other physical defects in license plates; reduced contrast due to image captures based on infrared light; etc. Moreover, unlike character sequences representing words or phrases, license plate character sequences are typically random, such that OCR systems may not be able to increase certainty in deciphering characters based on their relationships to adjacent characters. And, while a certain degree of error may be tolerable for some OCR applications, such as an occasionally misspelled word resulting from an OCR processing of a document, even a single incorrect character may render an OCR result useless in the ALPR context, in which a vehicle is often uniquely identifiable by only a single license plate character sequence.

Given these shortcomings in using traditional OCR processes in ALPR, recent attention has been given to the idea of using image signature-based matching techniques to identify vehicle license plates. Signature-based image matching differs from OCR in several respects. Most importantly, whereas OCR operates by attempting to isolate and interpret each individual character within a larger image, signature-based image matching works by considering graphical characteristics of the image as a whole and distilling those characteristics into a more succinct signature, often represented as a vector. Two images may then be compared by evaluating the similarity of their signatures, for example using a vector dot product computation, even if individual characters cannot be discerned from one or both images using conventional OCR techniques.

Signature matching thus approximates image matching by representing portions or characteristics of images as binary or alphanumeric strings, which may be more easily compared than large numbers of pixels. If image signatures are further represented as vectors, the dot product may allow a measure of similarity between two signature strings to be computed, even if they do not match completely.

In the context of ALPR, signature matching may be used to identify vehicles where OCR is not effective. For example, if an ALPR system is not able to accurately identify characters in a captured image of a license plate using OCR—e.g., due to poor image quality, occlusion, etc.—the ALPR system may instead compute a signature of the license plate image and may compare the signature to a database of signatures from previously captured images of license plates. If a matching signature is found, then it may be determined that the newly captured license plate image matches the previously captured license plate image, and therefore the two license plates have identical license plate information.

In some ALPR systems, both OCR and signature matching may be combined to improve the accuracy with which license plate information can be determined from images of license plates. For example, an image of a license plate may be captured by a camera when a vehicle travels through an intersection or toll booth. An ALPR system may first attempt to perform OCR on the license plate image. If the license plate characters cannot be accurately determined by OCR—e.g., due to poor image quality or contrast—a signature of the license plate image may be computed and compared to signatures of other license plate images for which license plate information (i.e., ground truth) is known.

However, in many cases, no ground truth records may exist for a particular license plate. For example, it may be the case that the license plate had not previously been photographed. Therefore, the present disclosure provides for various techniques for creating a ground truth database for a particular target license plate by generating synthetic images of the target license plate and computing signatures of the synthetic images.

FIG. 1 is a diagram depicting exemplary hardware componentry of a system configured to perform the described embodiments. System 100 may comprise any one or more computing devices that may be configured to perform the described embodiments. For example, system 100 may comprise one or more microprocessors 110 of varying core configurations and clock frequencies; one or more memory devices or computer-readable media 120 of varying physical dimensions and storage capacities, such as flash drives, hard drives, random access memory, etc., for storing data, such as images, files, and program instructions for execution by one or more microprocessors 110; one or more network interfaces 130, such as Ethernet adapters, wireless transceivers, or serial network components, for communicating over wired or wireless media using protocols, such as Ethernet, wireless Ethernet, code divisional multiple access (CDMA), time division multiple access (TDMA), etc.; one or more camera components 140 for capturing images of real-world, external, optical phenomena using analog or digital technologies; and one or more peripheral connections 150, such as universal serial bus (USB) connections or video interfaces. The components of system 100 need not be enclosed within a single enclosure or even located in close proximity to one another.

Memory devices 120 may further be physically or logically arranged or configured to provide for or store one or more data stores 122, such as relational or hierarchical databases, and one or more software programs 124, which may contain interpretable or executable instructions for performing one or more of the disclosed embodiments. Those skilled in the art will appreciate that the above-described componentry is exemplary only, as system 100 may comprise any type of hardware componentry, including any necessary accompanying firmware or software, for performing the disclosed embodiments.

As described above, signature matching may approximate image matching by representing portions or characteristics of images as binary or alphanumeric strings, which may be more easily compared than large numbers of pixels. If image signatures are further represented as vectors, the dot product may allow a measure of similarity between two signature strings to be computed, even if they do not match completely. However, just as not all portions or characteristics of an image may be equally important when comparing two images for similarity, not all elements of a given signature, which elements represent portions or characteristics of the images, may be equally important when comparing two images using signature matching. Therefore, one enhancement to signature matching is to employ signatures that have differently weighted elements.

In the context of ALPR, for instance, it may be more important to compare certain portions or characteristics of license plates—e.g., license plate number, issuing authority, design, font type, etc.—than other portions or characteristics—e.g., empty “whitespace,” license plate frame, etc. Thus, to improve ALPR signature matching, elements within signatures of license plate images may be weighted to emphasize the portions or characteristics that are more probative of similarity than other portions or characteristics. However, it may be difficult to determine and program an optimal set of weights for a given license plate, given the wide variety of fonts, backgrounds, and other characteristics of license plates across different issuing authorities and designs.

In order to obtain an optimal set of weights for performing weighted image signature matching, it may first be necessary to have a sufficient number and diversity of inputs to a machine distance learning algorithm. In some embodiments, such inputs may be created by generating a plurality of synthetic images tailored to mimic real-world images. FIG. 2 is a flowchart illustrating an exemplary method of building a ground truth database using synthetic license plate images, consistent with certain disclosed embodiments.

In particular, the exemplary steps outlined in FIG. 2 set forth an algorithm for generating a comprehensive synthetic image collection in which at least one synthetic image is generated for each valid character permutation of each license plate template offered by each issuing authority. However, because it may be impractical to generate such a large number of synthetic images (potentially on the order of millions or billions of unique permutations), the steps set forth in FIG. 2 may be modified to generate a robust, albeit less than perfectly comprehensive, image collection. Therefore, those skilled in the art will appreciate that the steps set forth in FIG. 2 are exemplary only, and are intended merely to illustrate certain basic operations that may be used to generate a ground truth database of synthetic images.

In step 212, system 100 may determine a set of issuing authorities. An issuing authority may be considered any entity, such as a state or government agency, that is authorized to issue a license plate or for which the disclosed enhanced ALPR system could be used to recognize license plates. Put differently, an issuing authority may be considered a namespace within which a particular license plate number is unique. For example, although two different license plates may each have the license plate number “EUC 9012,” those two license plates may still be regarded as distinct if one of them is a New York license plate and the other is a Montana license plate. Thus, in some embodiments, a license plate may be uniquely identified by the combination of its license plate number and issuing authority. If the goal is to generate a comprehensive set of synthetic license plates, then step 212 may comprise determining all states and government agencies for which ALPR may be performed using the disclosed embodiments. In step 214, a particular (“next”) issuing authority from the set of step 212 is selected. If step 214 is being performed for the first time, the “next” issuing authority may simply be the first issuing authority in the set.

In step 216, system 100 may determine a set of license plate templates for the selected issuing authority. In some embodiments, a license plate template may refer to a particular visual style of a license plate offered by an issuing authority. For example, many issuing authorities allow motorists to select or purchase specialty plates that promote an idea (e.g., “KIDS FIRST” or “Reduce-Reuse-Recycle”) and include background images or color layouts consistent with the promoted idea. Because a “KIDS FIRST”-themed Virginia license plate may be markedly different from a Virginia “Reduce-Reuse-Recycle” license plate, despite both plates being associated with the same issuing authority, it may be helpful to generate one or more synthetic license plate images for each template as an input to a machine learning algorithm. In step 218, a particular (“next”) template from the set of step 216 is selected. If step 218 is being performed for the first time, the “next” template may simply be the first template in the set.

In step 220, system 100 may determine a set of valid license plate character permutations for the selected license plate template and/or for the selected issuing authority. For example, a particular issuing authority may issue license plate numbers for particular templates only in accordance with certain rules. Such rules may comprise a set of valid characters (e.g., ASCII alphanumeric characters only), a maximum or minimum number of characters permitted on a license plate, or enforced character patterns (e.g., mandatory inclusion of at least one number, mandatory three-letter pattern followed by four-number pattern, mandatory whitespace requirements, etc.). Thus, step 220 may comprise generating a plurality of random license plate character permutations (for simplicity, sometimes referred to as “license plate numbers,” even if non-numeric characters are included) according to the determined rules. In step 222, a particular (“next”) character permutation from the set of step 220 is selected. If step 222 is being performed for the first time, the “next” character permutation may simply be the first character permutation in the set.

In step 224, system 100 may generate a synthetic image of a license plate using the selected license plate template and the selected character permutation. FIGS. 3 a and 3 b illustrate exemplary operations for performing such a synthetic image generation process, consistent with certain disclosed embodiments. In step 310, system 100 may retrieve a license plate template. In some embodiments, the license plate template may simply be an image of particular license plate template offered by an issuing authority with or without identification characters on it, such as image 315, since several issuing authorities provide images of the template offerings on their websites. Such images typically depict a license plate template in the form of an ideal license plate having no defects or image capture flaws; such images may be synthetically generated themselves.

In step 320, system 100 may determine character rules for the template. Here “character rules” may refer not to rules for valid character permutations, as in step 220, but rather to how identification characters be visually depicted on a particular license plate template. For example, although some issuing authorities have begun to employ digital plate-making technologies, in which standard digital fonts (e.g., Times New Roman, Arial, etc.) are used and authentically represented by the identification characters placed on issued license plates, several traditional license plate-making processes use a form of typesetting that does not truly conform to the definition of a font. Thus, for some states (e.g., New York and Delaware), as of the date of this application, it may not be possible to retrieve exact digital fonts for various license plate templates. Instead, in some embodiments, such fonts may be synthesized.

In one embodiment, a non-standard font for a particular license plate template may be synthesized by acquiring digital camera images of a sufficient number of real license plates to capture all alphanumeric characters valid for the template (e.g., 26 letters and 10 digits). The images may then be preprocessed using a series of image processing functions, such as correction for perspective distortion, cropping of character region, binarization, and character segmentation to produce individual character images. The character images may then be supplied to a font synthesis software package, such as the FontLAB ScanFont™ and TypeTool™ bundle, to generate font outline glyphs from the binary character images and output a TrueType font.

Determining character rules for the template may also comprise determining appropriate colors, sizes, and spacings for identification characters in the template, as well as determining what kind of embossing or protrusion effects are typical for identification characters within a template as a result of how such characters are imprinted, pressed, or printed onto physical license plates. Those skilled in the art will appreciate that the foregoing operations for determining graphical rules for characters within a specific template are exemplary only, and that other techniques may be used.

In step 330, a synthetically generated license plate number may be retrieved, such as a randomly generated character permutation selected in step 222. In step 340, system 100 may generate synthetic character images using the synthetically generated license plate number retrieved in step 330 and the character rules determined in step 320. In step 350, system 100 may superimpose the synthetically generated character images onto the template, for example according to spacing or other character rules determined in step 320. Thus, FIG. 3 b depicts a blank license plate template image 315, a character sequence generation process 335, and a rendering effects process 345 as inputs to a text overlay process 355. FIG. 3 b also depicts exemplary synthetic license plate images 375 a-c that might be generated using the operations of FIG. 3 a.

At this point in the process, a synthetic license plate image has been generated. However, synthetic license plate images 375 a-c may not accurately represent the kinds of license plate images that would be captured by actual cameras with respect to actual moving vehicles. As a result, in some embodiments, once generated, a synthetic license plate image may be subjected to one or more transformations intended to cause the image to more closely resemble an authentic license plate image capture. Returning to FIG. 2, in step 226, system 100 may determine a set of possible image transformations at its disposal for that purpose. That is, system 100 may identify a set of distinct image transformation algorithms stored in memory 120, such as one or more software programs 124. In step 228, a particular (“next”) image transformation algorithm from the set of step 226 is selected. If step 228 is being performed for the first time, the “next” image transformation algorithm may simply be the first algorithm in the set.

In step 230, system 100 generates a transformed synthetic image by applying the selected transformation algorithm to the synthetically generated license plate image. FIG. 4 illustrates various transformation algorithms that may be applied to a synthetically generated license plate image in order to cause the synthetic image to more closely resemble an authentic license plate image.

For example, many ALPR systems use infra-red (IR) cameras to capture vehicle images with high signal-to-noise ratios across a variety of weather conditions and times of day, including nighttime. As a result, in some ALPR systems, authentic image captures may be largely black and white. Therefore, in order to provide synthetic image inputs into the machine learning algorithm that more closely resemble actual image captures, system 100 may apply a color-to-infra red transformation. One technique for applying such a transformation is to represent the colored synthetic image using a cyan-magenta-yellow-black (CMYK) subtracting color model. If the cyan (C), magenta (M), and yellow (Y) colorants are considered transparent to IR, while the black (K) colorant is considered opaque, then, assuming a 100% gray component replacement strategy, a color-to-infrared transformation may be applied to a synthetic image using the formula: IR=max(w _(R) R,w _(G) G,w _(B) B), where w_(R), w_(G), and w_(B) are weights that represent the relative IR transmittances of plate materials that reflect strongly in the red (R), green (G), and blue (B) bands.

Such weights can also be viewed as parameters to be optimized based on corresponding RGB and IR images. In some embodiments, the mapping may also depend on other factors that could affect IR transmittances from license plates, such as license plate material composition and plate temperature. FIG. 4 depicts an example of a color-to-infrared transformation in which a colored synthetic license plate image 410 is transformed into a black and white image 412 (intended to mimic an IR-captured license plate image) using the weights: w_(R)=035, w_(G)=1.0, and w_(B)=0.35. Those skilled in the art will appreciate that a color-to-infrared transformation may be implemented using other techniques.

Authentic license plate images may also reflect various degrees of blur due to vehicle motion and/or a camera being out of focus. In some embodiments, a synthetically generated license plate image may simulate such blur using a linear lowpass box filter of size N×N, where N determines the extent of blur. A value of N may be selected to cause the simulation to most closely match that of live captures. For example, an appropriate size of N may be derived by examining sample camera captures of actual license plates and determining a mean or median extent of blur in those images, or computing an average absolute gradient at the zero crossings. If examination of actual images reveals varying degrees of blur measurements, a range of nominal values for N (e.g., between 3 and 6), may also be used. In FIG. 4, images 420 and 422 depict synthetically generated license plate images in which blur transformations of N=3 and N=6, respectively, have been applied. Those skilled in the art will appreciate that a blur transformation may be implemented using other techniques.

Variation in plate character resolution may also be driven by two major factors: camera imager and field of view. Camera image sensors are primarily rated by the sum (referred to as the density for standard sensor sizes) of their pixel imaging elements. For the same number of elements, the geometric arrangement of the imaging elements on the sensor can also vary. The field of view is a function of the camera optics and the distance between the camera and the vehicle plate. These two major factors may convolve to yield a resolution measured as the number of image, pixels per character based on a loose assumption that character height is two times its width. Therefore, in some embodiments, a character resolution transformation may be applied by creating an antialiased downsampling of a synthetically generated image and upsampling the antialiased image back to its original size, in effect reducing the number of pixels used to approximate the license plate. In FIG. 4, images 430 and 432 depict synthetically generated license plate images in which character resolutions transformations mimicking a high-resolution authentic image capture and a low-resolution image capture, respectively, have been applied. Those skilled in the art will appreciate that a character resolution transformation may be implemented using other techniques.

In authentic license plate image captures, the lighting incident to the image capture may also play a significant role in ALPR performance. For example, poor lighting may result in low contrast in the captured image, which may adversely affect character segmentation and/or OCR. Therefore, in order to produce synthetically generated license plate images that mimic authentic license plate image captures, a contrast transformation may be applied. In one embodiment, the contrast C of an image may be defined by the formula: C=Y _(m) ^(high) −Y _(m) ^(low) where Y_(m) ^(high) is the average of all pixels in the highest M-tile of sorted luminance values within the image, and Y_(m) ^(low) is the average of pixels in the lowest M-tile of sorted luminance within the image. A target contrast level may be determined by analyzing metrics associated with authentic license plate image captures, and luminance values of pixels in the image may be adjusted (e.g., proportionally) to ensure that the range of adjusted luminance values does not exceed the target C. In FIG. 4, image 442 depicts an adjusted contrast transformation of synthetically generated license plate image 440 (as can be seen, image 440 has been subjected to one or more transformations prior to the contrast transformation). Those skilled in the art will appreciate that a contrast transformation may be implemented using other techniques.

In ALPR, it is frequently necessary to provide some level of illumination for areas on vehicles in which license plates are located. Such illumination serves to provide increased contrast and to reveal additional detail in captured images. However, directional illumination can produce strong shadows on the plate, which can also affect character segmentation and/or OCR. Moreover, if the illuminant is located higher than the license plate being captured, which is common, the surrounding license plate frame may cast a shadow on the upper portion of the license plate. Therefore, a shadow transformation may be applied to synthetically generated license plate images. In one embodiment, a shadow transformation may operate by receiving a shadow profile function p(x, y) over the support of the plate image and applying a transformation according to the formula I′(x, y)=I(x, y)*p(x, y), where I(x, y) is the original illumination profile of the image, I′(x, y) is the transformed illumination profile of the image as a result of applying the shadow profile function, and x and y are pixel coordinates. In FIG. 4, images 450 and 452 depict synthetically generated license plate images in which shadow transformations have been applied. Those skilled in the art will appreciate that a shadow transformation may be implemented using other techniques.

Additional transformations, such as geometric transformations 460 and 462, physical deformity or “plate noise” transformations 470 and 472, character or background occlusions 480 and 482, and vehicle insertion transformations 490 and 492 may be performed. Those skilled in the art will appreciate that the foregoing transformations are exemplary only. Moreover, system 100 may apply two or more transformation algorithms to a single synthetically generated license plate image.

Returning to FIG. 2, in step 232, system 100 may compute a signature of the transformed synthetic image. In some embodiments, system 100 may compute the signature as a Fisher vector or a normalized Fisher vector. Descriptions of techniques that may be used to represent an image as a Fisher vector or a normalized Fisher vector are more fully set forth in U.S. Pat. No. 7,680,341 and U.S. patent application Ser. No. 12/859,898, which are hereby incorporated by reference.

At this point, the signature of the transformed synthetic image may be provided as an input to a machine learning algorithm, which may also be a distance learning algorithm. This may be done, for example, by computing a weighted similarity score between the signature of the transformed synthetic image and another image of a license plate having the same template and identification information but having different transformations using a particular set of signature weights (steps 234 and 236). For example, as depicted in FIG. 5, a synthetically generated and transformed license plate image 510 may be compared to another synthetically generated and transformed license plate image 512. A weight set 520 may also be provided as an input to the weighted similarity comparison 530, resulting in a first similarity score 542 between image 510 and image 512. Image 510 and image 512 have the same identification information, but have been subjected to different transformations.

As part of the machine learning process, system 100 may also compute a weighted similarity score between the signature of the transformed synthetic image and another image of a license plate having different identification information (i.e., not having the same character permutation and issuing authority combination) using a particular set of signature weights (step 238). For example, image 510 may be compared (block 530) to image 514, which represents a synthetically generated and transformed license having different identification information. A weight set 520 may also be provided as an input to the weighted similarity comparison 530, resulting in a second similarity score 544 between image 510 and image 514. In FIG. 5, image 514 represents a license plate having a different character permutation, issuing authority, and license plate template. However, step 238 may also be performed using an image 514 of a license plate having the same character permutation, but a different issuing authority and license plate template, or a different character permutation, but the same issuing authority and license plate template, etc.

The purpose of the machine learning process is to improve the accuracy with which system 100 is able to determine identification information associated with an authentic image capture of a real-world license plate. Therefore, similarity scores 542 and 544 may be fed into a distance learning algorithm 550, along with the weight set 520 that was used to generate the scores. Because images 510 and 512 reflect license plates that have the same identification information, distance learning algorithm 550 may adjust weight set 520 to increase similarity score 542 (step 240). And, because images 510 and 514 reflect license plates that do not have the same identification information, distance learning algorithm 550 may adjust weight set 520 to decrease similarity score 544. The output of these processes is an adjusted weight set 525 that, if used as an input to weighted similarity comparisons 530 between images 510 and 512 and images 510 and 514, would result in a higher similarity score 542 and a lower similarity score 544.

The remaining steps 244-252 depicted in FIG. 2 serve to illustrate various levels of iteration through the sets of transformations, character permutations, license plate templates, and issuing authorities known to system 100. Thus, if followed, the steps depicted in FIG. 2 would operate to ensure that a different synthetic license image is generated for each transformation for each valid character permutation for each license plate template for each issuing authority. Further, each such transformed synthetic license plate image would be compared to at least one another license plate image having the same identification information and to at least one other license plate image having different identification information (either of which may be synthetic or authentic). The results of both comparisons would be fed into distance learning algorithm 550 to adjust one or more weight sets to increase weighted similarity scores between the former images and decrease weighted similarity scores between the latter images.

However, those skilled in the art will appreciate that not all of these steps need be performed in order for the system to function. Rather, only select issuing authorities, license plate templates, character permutations, transformations, and/or comparisons may be used in order to reduce computational or memory burdens. For example, rather than generating random character permutations, system 100 may be programmed to use only those character permutations that have actually been used for issued license plates by an issuing authority.

Once one or more sets of optimal weights has been determined using the above described machine learning process using synthetic images, such weights may be used to more accurately determine vehicle license plate numbers from images captured of vehicles in real time. Exemplary operations are depicted in FIG. 6.

FIG. 6 is a flowchart depicting an exemplary method of determining identification information associated with an authentic license plate image, consistent with certain disclosed embodiments. FIG. 6 depicts various steps that may be performed in order to identify a vehicle by its license plate once an image has been captured of the vehicle, such as by an automatic traffic camera.

In step 610, a traffic camera or other device may capture an image of a vehicle as that vehicle is traveling down a road or other thoroughfare. That image may then be cropped or otherwise modified to isolate an image of just the license plate on the vehicle (step 620). In step 630, system 100 or other componentry may calculate a signature of the license plate image, such as a Fisher vector.

Now, that signature, (hereinafter “query signature”) may be compared against various signatures stored in a database in order to find a match. The database may comprise a plurality of signatures of license plate images for which ground truth (e.g., identification information) is known and potentially also stored in the database. These signatures may be of authentic and/or synthetic license plate images—although, in some embodiments, it may be preferable to, include signatures of synthetic license plate images in the database in order to provide a large number of signatures that may potentially match the query signature. Comparisons between the query signature and the signatures in the database may be performed using one or more sets of optimal weights obtained by the machine learning process described above. In some embodiments, the comparison may be performed using a low-rank symmetric decomposition.

A variety of techniques may be used to efficiently query the signature database such that it is not necessary to compute a similarity score between the query signature and every signature in the database. In one embodiment, the signature comparison process may be bifurcated between determining an issuing authority for the captured license plate and determining a license plate number for the captured license plate. For example, the above described synthetic image generation process may also be applied to a machine learning process that focuses solely on identifying an issuing authority, such as a state or governmental agency, from license plate images.

Using this approach, the issuing authority of the captured license plate image may first be determined using signature matching, weighted or otherwise. Once the issuing authority is determined, a query signature that encompasses image information associated with the license plate number may be compared only against those signatures in the signature database that are associated with license plates issued by the same authority. Using this approach, the number of comparisons may be reduced by a factor of at least 51. Similar approaches may be used to narrow down the signatures in the signature database by license plate design.

In other embodiments, entries in the signature database may be indexed according to their constituent signature segments. Using this approach, signatures may be iteratively excluded from the query if one of their segments is outside an acceptable range associated with a corresponding segment in the query signature. Those skilled in the art will appreciate that there may be other techniques for comparing the query signature with entries in the signature database in an efficient manner that avoids the need for a one-to-one comparison with each entry.

In one embodiment, as described in steps 640 and 650, the signature having the highest similarity score to the query signature may be selected (step 640). It may then be determined whether that selected signature has a sufficiently high similarity score in accordance with some threshold, predetermined or otherwise (step 650). If the selected signature has a sufficiently high similarity score (step 650, Yes), then the identification information associated with the matching signature may be extracted from the signature database and identified as the identification information associated with the captured license plate image (step 660). In other words, it may be determined that the captured license plate image has the same license plate number and issuing authority as the matching signature. This association may be true regardless of whether the matching signature in the database was derived from an authentic or a synthetic image.

If, however, a match is not found, or the selected signature does not have a sufficiently high similarity score (step 650, No), then a variety of other operations may be performed. For example, the image of the captured license plate may be sent for manual analysis (step 670) or OCR analysis to determine the identification information associated with the license plate. In any event, whether a proper match is found or not, once the identification information has been determined, that information may be associated with the query signature and both pieces of information may be stored in the signature database for use in future matching operations (step 680). Additionally or alternatively, both pieces of information may be fed into the machine learning process, where they may be compared to other signatures in the database, whether authentic or synthetic, in order to further optimize one or more sets of signature weights.

The operations depicted in FIG. 6 describe an application of the invention to a situation in which a database of signatures and a set of optimal weights may be used to determine the identification information of a license plate image for which such identification information was not previously known. In some embodiments, the invention may also be used to analyze previously captured images of license plates using only known identification information associated with a particular license plate or vehicle.

For example, each time a new license plate image is captured, a signature of the captured image may be computed and stored into an “historical” database or database table. The historical database may further include metadata describing the circumstances of each image capture. For example, if an image of a license plate is captured at a certain date and time at a certain geographical location, that date, time, and location information may be stored in the database in association with the signature. Thus, the historical database, may reflect a history of image captures from which it can be determined which vehicles were detected at which times and at which locations.

Importantly, the invention may be utilized to analyze this historical database without the need to first determine and store identification information for any image in the historical database. If, at any time, it is desired to know whether an image of a particular license plate is stored in the historical database, such information may be determined in accordance with the operations depicted in FIG. 7.

In step 710, identification information associated with a particular vehicle (hereinafter, “target vehicle”) may be received or input into the system. For example, if law enforcement determines that a particular vehicle has been stolen, that vehicle's license plate identification information (e.g., its license plate number and issuing authority) may be entered into the system as plain alphanumeric data—i.e., rather than image data. In step 720, the system may generate one or more synthetic images of what the target vehicle's license plate might look like, e.g., based on its known license plate number, issuing authority, license plate design, etc.

The system may generate only a single synthetic image, such as an idealized image. Or, the system may generate a plurality of synthetic images by applying a variety of transformations to the idealized image using the operations described in the context of FIG. 4. By generating a plurality of synthetic images intended to mimic a variety of different environmental conditions in which a photograph of the target vehicle could have been taken or a variety of types of wear and tear on the target vehicle's license plate, the system may increase the likelihood of locating a match within the historical database.

In step 730, signatures (hereinafter “query signatures”) may be computed for the one or more synthetic images (e.g., using Fisher vectors). Next, in step 740, the historical database may be queried to determine whether any signatures in the historical database match any of the query signatures to a sufficient degree. In some embodiments, such comparisons may be made using weighted signatures and/or the various efficient query techniques described above in connection with FIG. 6. Such comparisons may also be made using a low-rank asymmetric decomposition

If a signature in the historical database matches one or more of the query signatures (step 750, Yes), then metadata associated with the matching image may be extracted from the historical database (step 760) and used to determine when and where the target vehicle was previously detected. In some embodiments, if the highest matching signatures in the historical database have similarity scores below a certain threshold, then the stored images associated with the matching signatures may be manually analyzed to determine whether they actually reflect the target vehicle license plate (step 770). In some embodiments, manual review may be conducted in all cases.

Thus, using this approach, a database of large numbers of previous authentic license plate image captures may be queried to determine whether a target vehicle has been previously photographed, even if identification information has not been determined for any of the image captures in the historical database. In particular, the above described synthetic image generation process may be used to generate synthetic images of a particular license plate based only on its identification information, and those signatures may be used to query an historical database of signatures associated with authentic license plate image captures. Those skilled in the art will appreciate that modifications may be made to this approach.

In other embodiments, the above-described techniques may be used to identify target vehicles using a forward-looking approach rather than a backward-looking approach. For example, if it is desired to locate a target vehicle, identification information associated with the target vehicle's license plate may be determined, and a database of previous image captures may be queried to determine whether an authentic image of the vehicle's license plate has been captured. If the target vehicle's license plate had not been previously photographed and analyzed, then there may be no signature associated with the target license plate stored in the signature database. As a result, even if the target license plate is photographed at an intersection or toll booth, it may not be possible for an ALPR system to identify the target vehicle using only signature matching.

Therefore, in order to ensure that the target license plate would be identifiable by an ALPR system using signature matching, despite the absence of ground truth records associated with the target license plate in the signature database, one or more synthetic images of the target license plate may be generated using one or more of the above-described techniques. Signatures may then be computed of the synthetic license plate images and used to match an authentic image of the target license plate in the event that it is later photographed by an ALPR system. Exemplary steps for performing such operations are depicted in and described with respect to FIGS. 8-11.

FIG. 8 is a flowchart illustrating an exemplary method of building a ground truth database of image signatures using identification information associated with a target vehicle, consistent with certain disclosed embodiments. In step 810, system 100 may receive identification information associated with a target vehicle. For example, if it is desired to locate a missing person or to apprehend a fugitive (hereinafter “person of interest”), law enforcement may consult governmental vehicle records to determine identification information, such as a license plate number and issuing authority, associated with a vehicle owned or driven by the person of interest (“target license plate”), and may enter the identification information associated with the target license plate into system 100.

Next, the identification information associated with the target license plate may be used to generate one or more synthetic images. A synthetic image of the target license plate may be generated using any of the above-described techniques. Thus, steps 820-870 are merely exemplary steps that may be performed to generate a synthetic image according to some embodiments.

In step 820, a template associated with the target license plate may be retrieved. For example, as depicted in a FIG. 9, it may be determined that the target license plate was issued by the state of New York and using the style represented by template 910. Thus, template 910 may be fed into the synthetic generation process as an image file or other graphical data container. In step 830, system 100 may determine the character rules associated with the target license plate template, as described, above, and in step 840, system 100 may generate synthetic character images based on the character rules. Finally, in step 850, system 100 may superimpose the generated synthetic character images onto the target license plate template.

FIG. 9 depicts an exemplary process in which license plate numbers 920 associated with the target vehicle are subjected to a rendering effects process 930 to generate synthetic character images 940 in accordance with the target license plate template 910. The synthetic character images 940 are then superimposed onto the target license plate template 910 as part of a text overlay process 950 to generate an initial synthetic image 960 of the target license plate.

As described above, an initial synthetic image of a license plate may be less useful for signature matching because it may not accurately represent how a license plate may appear in an actual image capture due to factors such as blurring, reduced infrared contrast, etc. Therefore, once initial synthetic image 960 has been generated, it may be subjected to one or more transformations to more closely mimic an authentic image capture.

In some embodiments, initial synthetic image 960 may be subjected to a standard set of transformations, including any of the transformations described above. However, in other embodiments, additional information about the target license plate, the target vehicle, and/or locations in which the target license plate may be photographed can be used to select transformations that may be more likely to match future authentic image captures of the target license plate. For example, the target vehicle may be presumed to be located within a particular geographical area or to be traveling along or close to a particular route. Accordingly, algorithms may be created or used for transforming initial synthetic image 960 to mimic image captures by cameras from one or more image capture locations, such as intersection or toll booths, within the geographical area or along the route.

In step 860 it may first be determined whether there are certain known locations (e.g., existing and operational ALPR systems) in which an image of the target license plate may be captured. If such locations are not known (step 860, No), or if information about such locations is not known that would enable system 100 to apply transformations intended to mimic image captures from the locations, then system 100 may simply apply a set of generic transformations to the initial synthetic image to generate one or more transformed synthetic images (step 870). If, however, such information is known (step 860, Yes), then system 100 may apply transformations associated with such presumed capture locations to generate transformed synthetic images (step 865, Yes).

For example, authentic image captures from three different cameras used in a particular toll booth may be analyzed. It may be determined that images of license plates captured by a first camera in the toll booth are generally characterized by a certain degree of blurring distortion, that images captured by a second camera in the toll booth are generally characterized by a certain kind of perspective distortion, and that images captured by a third camera are commonly distorted by a shadow on the top left corner. If it is determined that the target vehicle may pass through the toll booth, then initial synthetic image 960 may be subjected to transformations intended to mimic the distortions of each of the three cameras.

Thus, as depicted in FIG. 10, initial synthetic image 960 may pass through a transformation engine process 1010 to generate three transformed synthetic images 1020, 1030, and 1040. In this example, transformed synthetic images 1020, 1030, and 1040 may represent how the target license plate would likely appear in an authentic image capture from the first, second, and third cameras in the toll booth, respectively. Those skilled in the art will appreciate that each of transformed synthetic images 1020-1040 may result from the application of multiple transformations intended to mimic a particular camera or location. For example, as depicted in FIG. 10, each of transformed synthetic images 1020-1040 may also reflect a generic color-to-infrared transformation in addition to custom transformations pertinent to specific cameras or locations. Thus, the term “transformation” may be considered as either a singular graphical operation or a combination of graphical operations to result in a final image type relative to an initial image type.

Next, in step 880, system 100 may compute a signature for each transformed synthetic image and, in step 890, may store such signatures into a database. The database may be a general signature database or a special-purpose target signature database. Such signatures may then be used to identify the target vehicle during subsequent license plate image captures, as depicted in FIG. 11. FIG. 11 represents operations that may be performed by a single ALPR system. However, multiple, different ALPR systems may perform such operations for the purpose of locating a target vehicle. Individual ALPR systems may have componentry similar to system 100 or may have different hardware and/or software arrangements.

In step 1110, an ALPR system may capture an authentic image of a license plate on a vehicle. In step 1120, the ALPR system may compute a signature of the authentic image, using one or more of the above-described techniques, which may operate as a search signature. In step 1130, the ALPR system may query the target signature database using the search signature. By virtue of the operations described with respect to FIG. 8, the target signature database should include one or more signatures associated with transformed synthetic images of the target license plate (“target signatures”).

If the search signature does not match any target signature, or does not match any target signature to a sufficient degree (step 1140, No), then the image capture may simply be handled according to normal procedure for detected non-target vehicles (step 1150). However, if the search signature matches a target signature, or matches a target signature to a sufficient degree (step 1140, Yes), then it may be determined that the target vehicle was detected by the ALPR system. Accordingly, the ALPR system may take any number of different actions to indicate that the target vehicle was detected, such as alerting law enforcement (step 1160).

In some cases, even if the target vehicle is detected, it may not be possible or desirable for law enforcement to intercept the target vehicle immediately. For example, the nearest patrol car may be far away from the detecting ALPR system. Therefore, in some embodiments, the detection of the actual target license plate may be used to improve tracking of the target vehicle.

For example, in step 1170, the ALPR system (or another, related system) may store the search signature (reflecting a signature of an authentic image of the actual target license plate) into the target signature database. Storing the search signature may improve the accuracy with which the target vehicle may be identified during future image captures, since signatures of future image captures of the target license plate may be more likely to match the search signature than signatures of synthetic images of the target license plate.

In addition, in step 1180, the ALPR system (or another, related system) may use the authentic image and/or its signature to enhance the target signature database. For example, the search signature may be compared to the target signatures currently stored in the target database, which were generated from the transformed synthetic images. Those target signatures that are not within a certain threshold of similarity to the search signature may be removed from the database as being unlikely to match future authentic image captures of the target license plate. Additionally or alternatively, one or more transformations may be applied to the authentic image to generate new target signatures that are more likely to match signatures generated from future authentic image captures of the target license plate, and the new target signatures may be stored within the target signature database.

Although described primarily in the context of ALPR, the disclosed embodiments may be applicable to other fields or endeavors. For example, the foregoing techniques for generating synthetic images, supplying those images as inputs to a machine distance learning algorithm, and generating one or more sets of optimized weights for image signature matching may be applied to improve the OCR process itself. In some embodiments, images of characters may be synthetically generated and subjected to a variety of transformations intended to mimic how characters might appear on a page or as a result of different image scanning conditions. The optimized sets of weights resulting from such a machine distance learning process may be used to better identify authentic characters when the OCR process is used in less than ideal circumstances. Likewise, the foregoing techniques for generating a ground truth database of target signatures from synthetic images may be applied to other fields, such as facial recognition.

The foregoing description of the invention, along with its associated embodiments, has been presented for purposes of illustration only. It is not exhaustive and does not limit the invention to the precise form disclosed. Those skilled in the art will appreciate from the foregoing description that modifications and variations are possible in light of the above teachings or may be acquired from practicing the invention. The steps described need not be performed in the same sequence discussed or with the same degree of separation. Likewise various steps may be omitted, repeated, or combined, as necessary, to achieve the same or similar objectives or enhancements. Accordingly, the invention is not limited to the above-described embodiments, but instead is defined by the appended claims in light of their full scope of equivalents.

In the claims, unless specified otherwise, the term “license plate number” is to be construed as comprising both numeric and non-numeric characters. Also, in the claims, the term “matching” may comprise determining an exact match between images or image signatures, determining the highest or best match among a plurality of comparisons, or determining that two images or image signatures match within a certain threshold of similarity. Also, in the claims, the term “set” is to be construed as “one or more.” 

What is claimed is:
 1. A computer-implemented method of detecting a target vehicle, the method comprising: receiving identification information associated with a target vehicle; generating, using a processor, a set of target signatures, wherein generating the set of target signatures comprises: generating a set of synthetic license plate images using the identification information; and for each synthetic license plate image in the set of synthetic license plate images, calculating a target signature representing a signature of the synthetic license plate image; receiving an authentic license plate image, wherein the authentic license plate image was captured by a camera at a location; calculating a search signature representing a signature of the authentic license plate image; determining that the search signature matches a target signature from among the set of target signatures; and determining that the target vehicle was detected at the location based on determining that the search signature matches the target signature.
 2. The method of claim 1, wherein generating the set of synthetic license plate images comprises: retrieving a blank license plate template associated with the identification information; obtaining character font, size, and color characteristics associated with the license plate template; and rendering license plate characters associated with the identification information onto the license plate template in conformance with the obtained character font, size, and color characteristics to generate an initial synthetic license plate image.
 3. The method of claim 2, wherein generating the set of synthetic license plate images further comprises: applying one or more transformations to the initial synthetic license plate image to cause the initial synthetic license plate image to resemble an authentic license plate image capture.
 4. The method of claim 2, wherein generating the set of synthetic license plate images further comprises: applying a plurality of different transformations to the initial synthetic license plate image to generate a plurality of synthetic license plate images that resemble different authentic license plate image captures.
 5. The method of claim 2, wherein generating the set of synthetic license plate images further comprises: applying one or more transformations to the initial synthetic license plate images to cause the initial synthetic license plate image to resemble an authentic license plate image capture according to characteristics of an existing and operational ALPR system camera.
 6. The method of claim 2, wherein generating the set of synthetic license plate images further comprises: applying a plurality of different transformations to the initial synthetic license plate images to cause the initial synthetic license plate image to resemble a plurality of different authentic license plate image captures according to different characteristics of a plurality of different existing and operational ALPR system cameras.
 7. The method of claim 1, further comprising: storing the set of target signatures within a target signature data store.
 8. The method of claim 7, further comprising: storing the search signature within the target signature data store.
 9. The method of claim 8, further comprising: determining a measure of similarity between the search signature and one or more target signatures in the target signature data store; and removing one or more target signatures from the target signature data store having measures of similarity below a specified threshold.
 10. The method of claim 8, further comprising: applying one or more transformations to the authentic image to generate a set of transformed images; computing a set of new target signatures from the set of transformed images; and storing the set of new target signatures within the target signature data store.
 11. A system configured to implement to detect a target vehicle, the system comprising: a processing system comprising one or more processors; and a memory system comprising one or more computer-readable media, wherein the computer-readable media contain instructions stored thereon that, when executed by the processing system, cause the processing system to perform operations comprising: receiving identification information associated with a target vehicle; generating a set of target signatures, wherein generating the set of target signatures comprises: generating a set of synthetic license plate images using the identification information; and for each synthetic license plate image in the set of synthetic license plate images, calculating a target signature representing a signature of the synthetic license plate image; receiving an authentic license plate image, wherein the authentic license plate image was captured by a camera at a location; calculating a search signature representing a signature of the authentic license plate image; determining that the search signature matches a target signature from among the set of target signatures; and determining that the target vehicle was detected at the location based on determining that the search signature matches the target signature.
 12. The system of claim 11, wherein generating the set of synthetic license plate images comprises: retrieving a blank license plate template associated with the identification information; obtaining character font, size, and color characteristics associated with the license plate template; and rendering license plate characters associated with the identification information onto the license plate template in conformance with the obtained character font, size, and color characteristics to generate an initial synthetic license plate image.
 13. The system of claim 12, wherein generating the set of synthetic license plate images further comprises: applying one or more transformations to the initial synthetic license plate image to cause the initial synthetic license plate image to resemble an authentic license plate image capture.
 14. The system of claim 12, wherein generating the set of synthetic license plate images further comprises: applying a plurality of different transformations to the initial synthetic license plate image to generate a plurality of synthetic license plate images that resemble different authentic license plate image captures.
 15. The system of claim 12, wherein generating the set of synthetic license plate images further comprises: applying one or more transformations to the initial synthetic license plate images to cause the initial synthetic license plate image to resemble an authentic license plate image capture according to characteristics of an existing and operational ALPR system camera.
 16. The system of claim 12, wherein generating the set of synthetic license plate images further comprises: applying a plurality of different transformations to the initial synthetic license plate images to cause the initial synthetic license plate image to resemble a plurality of different authentic license plate image captures according to different characteristics of a plurality of different existing and operational ALPR system cameras.
 17. The system of claim 11, the operations further comprising: storing the set of target signatures within a target signature data store.
 18. The system of claim 17, the operations further comprising: storing the search signature within the target signature data store.
 19. The system of claim 18, the operations further comprising: determining a measure of similarity between the search signature and one or more target signatures in the target signature data store; and removing one or more target signatures from the target signature data store having measures of similarity below a specified threshold.
 20. The system of claim 18, the operations further comprising: applying one or more transformations to the authentic image to generate a set of transformed images; computing a set of new target signatures from the set of transformed images; and storing the set of new target signatures within the target signature data store. 